package com.osstem.hanarolab.relay.service.impl;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.osstem.hanarolab.relay.model.ItemDto;
import com.osstem.hanarolab.relay.model.ItemVo;
import com.osstem.hanarolab.relay.model.PictureDto;
import com.osstem.hanarolab.relay.model.PictureVo;
import com.osstem.hanarolab.relay.model.PlainTextDto;
import com.osstem.hanarolab.relay.model.PlainTextVo;
import com.osstem.hanarolab.relay.model.UserDto;
import com.osstem.ock.core.dpl.dataaccess.MyBatisDao;


/**
 * 
 * 
 * @author 오스템임플란트 jw
 * @since 2012. 10. 4.
 * @version 1.0
 * @see
 * 
 * <pre>
 * << 개정이력(Modification Information) >>
 *   
 *	  수정일  		수정자				수정내용		
 *	----------		------		------------------------
 *	2012. 10. 4.    jw				최초 생성
 *
 * </pre>
 */
@SuppressWarnings("unchecked")
@Repository("RelayDao")
public class RelayDao extends MyBatisDao{

	//의뢰서 정보 입력
	public int insertRequest(PlainTextVo plainTextVo) {
		return (Integer) insert("insertRequest", plainTextVo);
	}
	
	//의뢰서 정보 삭제
	public int deleteRequest(PlainTextVo plainTextVo) {
		return delete("deleteRequest", plainTextVo);
	}
	
	//의뢰서 데이터 입력
	public int insertRequestData(PlainTextVo plainTextVo)  {
		return (Integer) insert("insertRequestData", plainTextVo);
	}
	
	//의뢰서 데이터 삭제
	public int deleteRequestData(PlainTextVo plainTextVo) {
		return delete("deleteRequestData", plainTextVo);
	}
	
	//사진 데이터 입력
	public int insertPictureData(PictureVo pictureVo) {
		return (Integer) insert("insertPictureData", pictureVo);
	}
	
	//사진 데이터 삭제
	public int deletePictureData(PlainTextVo plainTextVo) {
		return delete("deletePictureData", plainTextVo);
	}

	//의뢰서 정보/데이터 조회
	public List<PlainTextDto> selectRequestData(PlainTextVo plainTextVo) {
		return list("selectRequestData", plainTextVo);
	}
	
	//사진 데이터 조회
	public List<PictureDto> selectPictureData(PlainTextVo plainTextVo) {
		return list("selectPictureData", plainTextVo);
	}
	
	//의뢰서 상태를 업데이트한다.
	public int updateRequestStatus(PlainTextVo plainTextVo) {
		return update("updateRequestStatus", plainTextVo);
	}

	//외뢰서 정보조회
	public List<PlainTextDto> selectRequest(PlainTextVo plainTextVo) {
		return list("selectRequest", plainTextVo);
	}

	//거래처 정보조회
	public List<UserDto> selectUsers(PlainTextVo plainTextVo) {
		return list("selectUsers", plainTextVo);
	}

	//기공소코드로 배정받은 의뢰서번호를 조회한다.
	public List<PlainTextDto> selectRequestsForReceiver(PlainTextVo plainTextVo) {
		return list("selectRequestsForReceiver", plainTextVo);
	}

	//기공소 품목 정보 변경
	public int mergeItem(ItemVo itemVo) {
		return update("mergeItem", itemVo);
	}

	//기공소 품목 정보 조회
	public List<ItemDto> selectItems(ItemVo itemVo) {
		return list("selectItems", itemVo);
	}

	
}